package day05;

public class ArrayDemo {
    public static void main(String[] args) {
        //1)数组的定义:
        //声明整形数组a,包含5个数组，每个元素都是int型,默认值为0
        int [] a = new int[5];
        //声明浮点型数组d,包含10个元素,每个数组都是double型,默认值为0.0
        double [] d = new double[10];
        //声明布尔类型数组b,包含26个元素,每个元素都是boolean型,默认值为fasle
        boolean [] b = new boolean[26];
        //2)数组的初始化:初始化的是数组中的元素
        int [] arr1 =new int[3];//0,0,0
        int [] arr2 ={2,5,8};//2,5,8
        int[] arr3 = new int[]{2,5,8};//2,5,8
        int[] arr4;
//        arr4={2,5,8};//编译报错，此方式只能声明同时初始化
        arr4 = new int[]{2,5,8};//正确
        //3)数组的访问:
        int [] arr = new int[3];
        System.out.println("数组的长度:"+arr.length);//3.长度即元素的个数
        System.out.println("第一个元素的值:"+arr[0]);//0
        arr[0]=100;//给第一个元素赋值为100
        arr[1]=200;//给第二个元素赋值为200
        arr[2]=300;//给第三个元素赋值为300
        //arr[3]=300;//运行时会发生数组下标越界异常
        System.out.println(arr[2]);//300,输出最后一个元素的值
        System.out.println(arr[arr.length-1]);//300,输出最后一个元素的值

        //4)数组的遍历/迭代
        int[] as = new int[10];
        for(int i=0;i<as.length;i++){//遍历as数组
            as[i]=(int)(Math.random()*100);//给每个元素赋值为0到99的随机数
            System.out.println(as[i]);//输出每个元素的值
        }
    }
}
